package it.magazzinoCofi.interfaces;

import it.magazzinoCofi.controllers.SchermataPrincipaleController;
import it.magazzinoCofi.model.DataUserModel;
import it.magazzinoCofi.view.BaseFrame;
import it.magazzinoCofi.view.SchermataPrincipale;
import Data.ErrorType;
import Data.Utente;

public interface Notifica {
	/**
	 * [Campi]
	 * 
	 * ErrorType ErrorType; 
	 * String User; 
	 * Controller controller; 
	 * es. creazione controller: 
	 * 	new SchermataPrincipaleController(new DataUserModel(), 
	 * 									new SchermataPrincipale(Utente.getInstance().getUser()))));
	 */

	/**
	 * getErrorType() Ritorna i tipo di Notifica, usato principalmente durante
	 * l'update della PView
	 * 
	 * @return ErrorType
	 */
	public ErrorType getErrorType();

	/**
	 * getFrame() Nei vari 'controller' vengono effettuate azioni che richiedono
	 * l'apertura o il cambio di determinate View (o Frame Java), il getFrame()
	 * permette la gestione dinamica dei Frame dalla PView attraverso i vari
	 * controller
	 * 
	 * @return
	 */
	public BaseFrame getFrame();
	/**
	 * Restituisce il frame generato dal controller.
	 */
}
